// 全局请求封装
export function http(url, data = {}, method) {
	let token = uni.getStorageSync('token') || '';
	let page = getCurrentPages()
	let currPage = page[page.length - 1].route
	if (!token) {
		// 执行没有登录的逻辑,这里是访问接口的时机
		if (currPage === 'pages/index/index' || currPage === 'pages/login/login' ) {
			// 在当前页面不需检验，token直接设为空，
			token = ''
		} else {
			uni.navigateTo({
				url: '/pages/login/login'
			});
			return ;
		}

	}
	return new Promise((resolve, reject) => {
		const baseURL = "http://192.168.124.6:3000/"  // wifi
		// const baseURL = "http://172.20.10.3:3000/"  // 手机热点
		let type = method.toUpperCase() == 'GET' ? 'application/x-www-form-urlencoded' : 'application/json'
		wx.request({
			url: baseURL + url,
			method: method.toUpperCase(),
			data,
			header: {
				'Content-Type': type,
				'authorization': token // 请求头
			},
			success(res) {
				if (res.data.code == 0) {
					resolve(res.data);
				} else if(res.data.code == '1000'){
					// 登录失败或者重新登录，要先把旧的token清掉
					uni.removeStorageSync('token')
					uni.navigateTo({
						url: '/pages/login/login'
					});
				}else {
					console.log(res.data);
					uni.showToast({
						title: res.data.msg,
						icon: 'none',
						duration: 800
					});
				}
			},
			fail(err) {
				// 这个回调只有请求没发出去才触发
				uni.showToast({
					title: '网络错误',
					icon: 'none',
					duration: 800
				});
				reject(err);
			},
			complete() {
				uni.hideLoading();
			}
		});
	});
};
